﻿using Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IService
{
    public interface IStorageLocationService
    {
        // 统一使用PaginationQuery参数
        Task<PaginationResult<StorageLocationEntity>> GetPagedListAsync(PaginationQuery query);
        // 添加删除方法定义
        Task DeleteAsync(int id);
        Task DeleteBatchAsync(int[] ids);
        Task<int> AddAsync(StorageLocationDTO dto); // 新增库位，返回ID
        Task<int> AddAsync(StorageLocationAddDTO dto, int warehouseId = 0);
        /// <summary>
        /// 分页查询库位（支持过滤未关联仓库的库位）
        /// </summary>
        /// <param name="warehouseId">仓库ID（null=未关联仓库）</param>
        /// <param name="pagination">分页参数</param>
        /// <returns>分页结果</returns>
        Task<PaginationResult<StorageLocationEntity>> GetPagedListAsync(int? warehouseId, PaginationQuery pagination);
    }
}
